function Level(name)
{
  var enemys;
  var _name;
  var _enemyTime;
  var _enemyIndex;
  var levelObjects;
  var path;
  var endLevelTimeGap;
  
  this.enemys = new Array();
  this._name = name;
  this._enemyIndex = 0;
  this.levelObjects = new Array();
  this.endLevelTimeGap = 8000;
}

Level.prototype =
{
  get enemysLeft()
  {
    return this.enemys.length - this._enemyIndex - 1;
  }
}

Level.prototype.GetNextEnemy = function()
{
  if(this.enemys.length == 0) return null;
  
  var createEnemy = false;

  createEnemy = this._enemyIndex == 0;
  if(!createEnemy)
  {
    //si estoy en el último devuelvo null
    if(this._enemyIndex >= this.enemys.length - 1) return null;
    
    //controlo que ya sea el momento de mandar un enemigo (o ya haya pasado)
    if((new Date()).getTime() - this._enemyTime.getTime() >= this.enemys[this._enemyIndex + 1].time)
      createEnemy = true;
  }
  
  if(createEnemy)
  {
    this._enemyTime = new Date();
    this._enemyIndex ++;
    return this.enemys[this._enemyIndex].type;
  }
}

Level.prototype.GetLevelTime = function()
{
	var totalTime = 0;
	for(var i = 0; i < this.enemys.length; i++)
	{
		totalTime += this.enemys[i].time + this.endLevelTimeGap; //agrego algunos segundos al final de cada nivel
	}
	
	return totalTime;
}

Level.prototype.toString = function()
{
  return "[Level : " + _name + "]";
}